home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_13_11 / schmidt / decldef.cpp < prev    next >
C/C++ Source or Header  |  1995-09-05  |  1KB  |  36 lines

  1. int a;     /* OK in C      -- tentative definition.
  2.               OK in C++    -- definition. */
  3. int a;     /* OK in C      -- redeclaration.
  4.               Error in C++ -- redefinition. */
  5. int a = 0; /* OK in C      -- definition.
  6.               Error in C++ -- redefinition. */
  7.  
  8.  
  9. extern int b;     /* OK in C    -- tentative definition.
  10.                      OK in C++  -- declaration. */
  11. extern int b;     /* OK in both -- redeclaration. */
  12. extern int b = 0; /* OK in both -- definition. */
  13.  
  14.  
  15. static int c;     /* OK in C      -- tentative definition.
  16.                      OK in C++    -- definition. */
  17. static int c;     /* OK in C      -- redeclaration.
  18.                      Error in C++ -- redefinition. */
  19. static int c = 0; /* OK in C      -- definition.
  20.                      Error in C++ -- redefinition. */
  21.  
  22.  
  23. int const d; /* OK in C      -- tentative definition.
  24.                 Error in C++ -- definition of internally
  25.                 linked const object must be
  26.                 initialized. */
  27.  
  28. void e(int);   /* OK in both -- declaration. */
  29. void e(long f) /* Error in C -- definition/declaration
  30.                   mismatch.
  31.                   OK in C++  -- overloaded definition. */
  32.     {
  33.     int g; /* OK in both    -- definition. */
  34.     int g; /* Error in both -- redefinition */
  35.     }
  36.